/**
 * 
 */
package tests;

import junit.framework.TestCase;
import excepciones.ValorNoPertenecienteAlDominio;
import funciones.Funcion;
import funciones.RaizCuadrada;
import operaciones.OperacionSobreFunciones;
/**
 * @author Laura
 *
 */
public class RaizCuadradaTest extends TestCase {

	private Funcion funcion;
	
	/* (non-Javadoc)
	 * @see junit.framework.TestCase#setUp()
	 */
	
	protected void setUp() throws Exception {
		super.setUp();
		this.funcion = new RaizCuadrada();
	}

	public void testEvaluar(){ 
		double doble = this.funcion.evaluar(16d);	
		assertTrue(doble == 4d);
	}
	
	public void testDerivar(){
		double valor= OperacionSobreFunciones.calcularDerivada(funcion, 4d);
		assertTrue(valor == 0.25d);
	}
	
	public void testLanzarExcepcion(){
		boolean bandera=true;
		try {
		double doble = this.funcion.evaluar(-16d);}
		catch (ValorNoPertenecienteAlDominio e){
			assertTrue(bandera == true);
		}
	}
}
